<?php
    class ConstanciaLaboral extends DBManager
    {
	var  $con;

	//funcion para comprobar conexion

        function open_con()
	{
            $this->con=parent::conectar();
            return $this->con;
	}

	//funcion para cerra conexion
	function close_con()
	{
            parent::desconectar();
	}
        
        function new_constancia_laboral($datos)
        {
            parent::conectar();
            
            $record_dc["idverificacionpersona"]     = $datos[0];            
            $record_dc["idempleado"]                = $datos[1];            
            $record_dc["idestado"]                  = $datos[2];            
            $record_dc["nombre_cons"]               = $datos[3];            
            $record_dc["entrevistada_cons"]         = $datos[4];            
            $record_dc["cargoentrevistado_cons"]    = $datos[5];            
            $record_dc["comprobacion_cons"]         = $datos[6];            
            $record_dc["experiencia_cons"]          = $datos[7];            
            $record_dc["fechainicio_cons"]          = $datos[8];            
            $record_dc["fechafinal_cons"]           = $datos[9];            

            $this->obj_con->StartTrans();
                $new_constancia_laboral              =   $this->obj_con->AutoExecute("tp_constancia_laboral_persona", $record_dc, 'INSERT');
            $this->obj_con->CompleteTrans();  
            
            if($new_constancia_laboral)
            {
                return true;
            }
            else
            {
                return false;
            }       
            
            parent::desconectar();
        }
        
        function update_constancia_laboral($idconstancia,$datos)
        {
            parent::conectar();
            
            $record_dc["idempleado"]                = $datos[1];
            $record_dc["nombre_cons"]               = $datos[3];            
            $record_dc["entrevistada_cons"]         = $datos[4];            
            $record_dc["cargoentrevistado_cons"]    = $datos[5];            
            $record_dc["comprobacion_cons"]         = $datos[6];            
            $record_dc["experiencia_cons"]          = $datos[7];            
            $record_dc["fechainicio_cons"]          = $datos[8];            
            $record_dc["fechafinal_cons"]           = $datos[9];                

            $this->obj_con->StartTrans();
                $update_constancia_laboral              =   $this->obj_con->AutoExecute("tp_constancia_laboral_persona", $record_dc, 'UPDATE','idconstancialaboral='.$idconstancia);
            $this->obj_con->CompleteTrans();  
            
            if($update_constancia_laboral)
            {
                return true;
            }
            else
            {
                return false;
            }      
            
            parent::desconectar();
        }     
        
        function delete_constancia_laboral($idconstancia,$datos)
        {
            parent::conectar();
            
            $record_dc["idestado"]     = $datos[0];            

            $this->obj_con->StartTrans();
                $delete_constancia_laboral  =   $this->obj_con->AutoExecute("tp_constancia_laboral_persona", $record_dc, 'UPDATE','idconstancialaboral='.$idconstancia);
            $this->obj_con->CompleteTrans();  
            
            if($delete_constancia_laboral)
            {
                return true;
            }
            else
            {
                return false;
            }   
            
            parent::desconectar();
        }         
        
        function get_campo_constancia_laboral($condicion,$get_campo)
	{
            parent::conectar();

            $consulta  =   "select ".$get_campo." from tp_constancia_laboral_persona where ".$condicion;
            $record_consulta = $this->obj_con->GetRow($consulta);
            
            parent::desconectar();
            return  $record_consulta[$get_campo];
        }   
        
        function get_total_constancia_laboral($condicion)
	{
            parent::conectar();

            $consulta           =   "select count(*) as conteo from tp_constancia_laboral_persona where ".$condicion;
            $record_consulta    =   $this->obj_con->GetRow($consulta);
            $total              =   $record_consulta["conteo"];
            
            parent::desconectar();
            return  $total;
        }     
        
        function aux_fechas($fechai,$fechaf)
        {
            parent::conectar();

            $consulta           =   "select date_part('years',age(timestamp '".$fechaf."', timestamp '".$fechai."')) as anios,date_part('mons',age(timestamp '".$fechaf."', timestamp '".$fechai."')) as meses,date_part('days',age(timestamp '".$fechaf."', timestamp '".$fechai."')) as dias";
            $record_consulta    =   $this->obj_con->GetRow($consulta);
            $anios              =   $record_consulta["anios"];
            $meses              =   $record_consulta["meses"];
            $dias               =   $record_consulta["dias"];
            
            parent::desconectar();
            return  $anios." AÑOS ".$meses." MESES ".$dias." DIAS"; 
        }
        
        
        function show_grid_laboral()
        {
           parent::conectar();
            
            $start           =   isset($_POST['start'])?$_POST['start']:0; 
            $limit           =   isset($_POST['limit'])?$_POST['limit']:100;
            $data_all        =   array();            
            $idsolicitud     =   $_POST["idsolicitud"];
            $idestado        =   $_POST["idestado"];
            
            $consulta_laboral  =   "select lab.idconstancialaboral,lab.idestado,lab.nombre_cons,lab.entrevistada_cons,lab.cargoentrevistado_cons,case lab.comprobacion_cons when 't' then 'on' else '' end as lbl_comprobacion,lab.experiencia_cons,to_char(lab.fechainicio_cons,'DD/MM/YYYY') as fechai, to_char(lab.fechafinal_cons,'DD/MM/YYYY') as fechaf,est.nombre_esta
from tp_solicitud_persona sol
inner join tp_verificacion_persona veri on veri.idsolicitud_persona = sol.idsolicitud_persona
inner join tp_constancia_laboral_persona lab on lab.idverificacionpersona = veri.idverificacionpersona
inner join ts_estado est on est.idestado = lab.idestado
where sol.idsolicitud_persona = ".$idsolicitud." and lab.idestado = ".$idestado."
order by lab.fecharegistro_cons asc";

            $recordset_all      =   $this->obj_con-> Execute($consulta_laboral);

           if (!$recordset_all)
           {
               echo ($this->obj_con->ErrorMsg());
           }
 	   else
           {
               while (!$recordset_all->EOF)
     	       {
                   $idlaboral       =    $recordset_all->fields['idconstancialaboral'];
                   $idestado        =    $recordset_all->fields['idestado'];
                   $profesion       =    $recordset_all->fields['nombre_cons'];
                   $entrevista      =    $recordset_all->fields['entrevistada_cons'];
                   $cargo           =    $recordset_all->fields['cargoentrevistado_cons'];
                   $lbl_comprobacion=    $recordset_all->fields['lbl_comprobacion'];
                   $experiencias    =    $recordset_all->fields['experiencia_cons'];    
                   $fechai          =    $recordset_all->fields['fechai'];    
                   $fechaf          =    $recordset_all->fields['fechaf'];    
                   $estado          =    $recordset_all->fields['nombre_esta'];    
                   $anios           =    $this->aux_fechas($fechai, $fechaf);
                    
                   $responce_all=array('idlaboral'=>$idlaboral,'idestado'=>$idestado,'profesion'=>$profesion,'entrevista'=>$entrevista,'cargo'=>$cargo,'lbl_comprobacion'=>$lbl_comprobacion,'experiencias'=>$experiencias,'fechai'=>$fechai,'fechaf'=>$fechaf,'estado'=>$estado,'anios'=>$anios);
                   array_push($data_all,$responce_all);
                   $recordset_all->MoveNext();
                }

                $paging_all = array(
                        	 'success'=>true,
                                 'total'=>count($data_all), //<--- total de registros a paginar
				 'data'=> array_splice($data_all,$start,$limit)
                                );

		echo json_encode($paging_all);
            }
            
            
            parent::desconectar();
        }        
        
        
        
        
    }
?>
